﻿namespace WCell.Constants.Achievements
{
	public enum AchievementCriteriaType : uint
	{
		KillCreature = 0,
		WinBg = 1,
		ReachLevel = 5,
		ReachSkillLevel = 7,
		CompleteAchievement = 8,
		CompleteQuestCount = 9,
		// you have to complete a daily quest x times in a row  
		CompleteDailyQuestDaily = 10,
		CompleteQuestsInZone = 11,
		DamageDone = 13,
		CompleteDailyQuest = 14,
		CompleteBattleground = 15,
		DeathAtMap = 16,
		Death = 17,
		DeathInDungeon = 18,
		CompleteRaid = 19,
		KilledByCreature = 20,
		KilledByPlayer = 23,
		FallWithoutDying = 24,
		DeathsFrom = 26,
		CompleteQuest = 27,
		BeSpellTarget = 28,
		CastSpell = 29,
		BgObjectiveCapture = 30,
		HonorableKillAtArea = 31,
		WinArena = 32,
		PlayArena = 33,
		LearnSpell = 34,
		// todo: this criteria has additional conditions which can not be found in the dbcs  
		HonorableKill = 35,
		OwnItem = 36,
		// todo: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc  
		WinRatedArena = 37,
		HighestTeamRating = 38,
		ReachTeamRating = 39,
		LearnSkillLevel = 40,
		UseItem = 41,
		LootItem = 42,
		ExploreArea = 43,
		OwnRank = 44,
		BuyBankSlot = 45,
		GainReputation = 46,
		GainExaltedReputation = 47,
		// noted: rewarded as soon as the player payed, not at taking place at the seat  
		VisitBarberShop = 48,
		EquipEpicItem = 49,
		// todo: itemlevel is mentioned in text but not present in dbc  
		RollNeedOnLoot = 50,
		RollGreedOnLoot = 51,
		HkClass = 52,
		HkRace = 53,
		DoEmote = 54,
		HealingDone = 55,
		// todo: in some cases map not present, and in some cases need do without die  
		GetKillingBlows = 56,
		EquipItem = 57,
		MoneyFromVendors = 59,
		GoldSpentForTalents = 60,
		NumberOfTalentResets = 61,
		MoneyFromQuestReward = 62,
		GoldSpentForTravelling = 63,
		GoldSpentAtBarber = 65,
		GoldSpentForMail = 66,
		LootMoney = 67,
		UseGameobject = 68,
		BeSpellTarget2 = 69,
		SpecialPvpKill = 70,
		FishInGameobject = 72,
		// todo: title id is not mentioned in dbc  
		EarnedPvpTitle = 74,
		LearnSkilllineSpells = 75,
		WinDuel = 76,
		LoseDuel = 77,
		// todo: creature type (demon, undead etc.) is not stored in dbc  
		KillCreatureType = 78,
		GoldEarnedByAuctions = 80,
		CreateAuction = 82,
		HighestAuctionBid = 83,
		WonAuctions = 84,
		HighestAuctionSold = 85,
		HighestGoldValueOwned = 86,
		GainReveredReputation = 87,
		GainHonoredReputation = 88,
		KnownFactions = 89,
		LootEpicItem = 90,
		ReceiveEpicItem = 91,
		RollNeed = 93,
		RollGreed = 94,
		HighestHealth = 95,
		HighestPower = 96,
		HighestStat = 97,
		HighestSpellpower = 98,
		HighestArmor = 99,
		HighestRating = 100,
		HighestHitDealt = 101,
		HighestHitReceived = 102,
		TotalDamageReceived = 103,
		HighestHealCasted = 104,
		TotalHealingReceived = 105,
		HighestHealingReceived = 106,
		QuestAbandoned = 107,
		FlightPathsTaken = 108,
		LootType = 109,
		// todo: target entry is missing  
		CastSpell2 = 110,
		LearnSkillLine = 112,
		EarnHonorableKill = 113,
		AcceptedSummonings = 114,
		EarnAchievementPoints = 115,
		UseLfdToGroupWithPlayers = 119,
		// 120  
		// 121  
		// 122  
		// 123  
		// 0..123 => 124 criteria types total  
		End = 124,
	}
}